// 封装请求拦截和响应拦截
import axios from 'axios'



// 开发模式生产模式端口链接
let axiosurl = ""
// 如果为开发模式的话执行url
if (process.env.NODE_ENV === 'development') {
    axiosurl = "http://localhost:8089"
} else {
    // 否则设置成其他的模式（这里今后有很多个判断）
    // 或者配置成process.env.VUE_APP_API 写在env文件中
    axiosurl = "http://localhost:8089"
}
// 创建axios赋值给常量 配置baseurl
const service=axios.create({
    baseURL: axiosurl
})

// 添加请求拦截interceptors
service.interceptors.request.use(function(config){
    // 发送请求前添加逻辑
    return config
},function(error){
    // 请求错误时添加的逻辑
    return Promise.reject(error)
})

// 添加响应拦截
service.interceptors.response.use(function (res) {
    // 给响应数据添加逻辑
    return res
},function (error) {
    if(error.response){
        // 反馈错误响应的具体错误内容
     console.log(error.response.status);
    switch(error.response.status){
        case 404:console.log('url信息错误');break;
        case 500:console.log('服务器错误');break;
        default:console.log('其他错误');break;
    }
    }
    
    return Promise.reject(error)
})

// 把axios导出
export default service